package com.asus.sun;

import org.flowable.ui.common.rest.idm.remote.RemoteAccountResource;
import org.flowable.ui.modeler.rest.app.EditorGroupsResource;
import org.flowable.ui.modeler.rest.app.EditorUsersResource;
import org.flowable.ui.modeler.rest.app.StencilSetResource;
import org.flowable.ui.modeler.domain.Model;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.FilterType;
import org.springframework.context.annotation.Import;
import org.springframework.transaction.annotation.EnableTransactionManagement;

/**
 * http://127.0.0.1:18120/common-flowable
 */

@Import({
		// 处理异常 ==》 'org.flowable.ui.modeler.properties.FlowableModelerAppProperties' that could not be found.
		org.flowable.ui.modeler.properties.FlowableModelerAppProperties.class
})
@SpringBootApplication
@ComponentScan(basePackages = {"com.asus.sun",
		"org.flowable.ui.common.rest.exception",
		"org.flowable.ui.modeler.rest.app",
		"org.flowable.ui.common.rest",
		"org.flowable.ui.modeler.repository",
		"org.flowable.ui.modeler.service",
		"org.flowable.ui.common.filter",
		"org.flowable.ui.common.service",
		"org.flowable.ui.common.repository",
		"org.flowable.ui.common.security",
		"org.flowable.ui.common.tenant",
		},excludeFilters = {
		@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = RemoteAccountResource.class),
//		@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = EditorUsersResource.class),
//		@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = EditorGroupsResource.class),
//		@ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, value = StencilSetResource.class),
})
@EnableTransactionManagement
@EnableAutoConfiguration(exclude = {org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class})
public class FlowUiDemoApplication {

	public static void main(String[] args) {
		SpringApplication.run(FlowUiDemoApplication.class, args);
	}

}
